<html>
<head><meta charset="utf-8"><title>embedded story · project-error-handling · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/index.html">project-error-handling</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/embedded.20story.html">embedded story</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="210555837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/embedded%20story/near/210555837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Antwan Gaggi <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/embedded.20story.html#210555837">(Sep 18 2020 at 18:09)</a>:</h4>
<p>Hello! As someone who works on embedded and latency sensitive environments, being able to use the standard library is a breath of fresh air compared to C++, error handling alone was enough to convince many people at my team to consider rust. </p>
<p>Reading the announcement has me both excited yet very very skeptical, excited because I use rust at home as well for fun projects and it will make that part easier, skeptical because the current way is ideal (lowest common denominator, works well with embedded and high latency requirements) </p>
<ul>
<li>Defining and codifying common error handling terminology.        -- sign me up</li>
<li>Generating consensus on current error handling best practices . -- there is simply no best practice to fit all ecosystems </li>
<li>Identifying pain points that exist in Rust’s error handling story.    -- your crates are all examples of good iteration and search (as well as the presentation at rustconf)</li>
<li>Communicating current error handling best practices.                     -- Good, you can communicate to one group without getting in the way of others</li>
<li>Consolidating the Rust error handling ecosystem.                              -- As long as its not adopted by the stdlib. Consolidate external crates people pull in. </li>
</ul>
<p>One recurring theme I see in those points is best practices, those don't scale from a microcontroller to a web app to a server... etc. I am not sure what the goals of the working group are but if it is to adopt a single error handling story it will be going down the path of std and exceptions in C++</p>
<p>final note, thank you to all the people whose names were mentioned in the announcement for your work</p>



<a name="210556253"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/embedded%20story/near/210556253" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/embedded.20story.html#210556253">(Sep 18 2020 at 18:12)</a>:</h4>
<p><span class="user-mention" data-user-id="281408">@Antwan Gaggi</span> I think something especially valuable you could do is to continue advocating for the embedded story.</p>
<p>I am biased, but I think that SNAFU <em>does</em> scale from microcontrollers to webservers (and I've used it as such!). The biggest missing piece for me is that <code>Error</code> is in libstd, not libcore. At least this is a well-known pain point that people have expressed interest in addressing.</p>



<a name="210556420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/embedded%20story/near/210556420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/embedded.20story.html#210556420">(Sep 18 2020 at 18:14)</a>:</h4>
<p>But explaining how you see the differences in the different worlds and how those impact your design decisions is invaluable.</p>



<a name="210562396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/embedded%20story/near/210562396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/embedded.20story.html#210562396">(Sep 18 2020 at 19:04)</a>:</h4>
<p>some sort of non-boxing solution is what's necessary for <code>core</code></p>



<a name="210562662"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/embedded%20story/near/210562662" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/embedded.20story.html#210562662">(Sep 18 2020 at 19:07)</a>:</h4>
<blockquote>
<p>One recurring theme I see in those points is best practices, those don't scale from a microcontroller to a web app to a server... etc. I am not sure what the goals of the working group are but if it is to adopt a single error handling story it will be going down the path of std and exceptions in C++</p>
</blockquote>
<p>When I drafted the charter I didn't really imagine a single error handling solution that everyone should adopt. I mean more of documenting all the different tools available and how to best leverage them. Some of this would be more specific to micro controllers and some would be more specific to web apps and so on.</p>



<a name="210564716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/embedded%20story/near/210564716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/embedded.20story.html#210564716">(Sep 18 2020 at 19:24)</a>:</h4>
<blockquote>
<p>some sort of non-boxing solution is what's necessary for <code>core</code></p>
</blockquote>
<p>Which is part of the reason that SNAFU doesn't require boxing :-)</p>



<a name="210564945"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/embedded%20story/near/210564945" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/embedded.20story.html#210564945">(Sep 18 2020 at 19:27)</a>:</h4>
<p>more on the core boxing btw <a href="https://github.com/rust-lang/project-error-handling/issues/3">https://github.com/rust-lang/project-error-handling/issues/3</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>